package com.game.majiang.vo;

import java.sql.Types;


import com.game.server.db.Parameter;
import com.game.server.db.ParameterType;
import com.game.server.db.SqlHelper;
import com.game.server.db.SqlHelperwrite;

import lombok.Data;

@Data
public class niuniugamelog {

	int id;
	
	int roomId;
	
	int tableId;
	
	int tableNo;
	
	int bankerId;
	
	int fangzhuId;
	int turn;
	
	String cards="";
	
	int difen;
	//int bankerwin;
	
	//String bets;
	int zhuangbeishu;
	int userid;
	int win;
	String userpai="";
	String kaifangshijian;
	int useryabei;
	int chanyu;


	public void save() {
		String strSql = "INSERT INTO niuniugame_log(roomId,tableId,bankerId,tableNo,cards,turn,fangzhuId,zhuangbeishu,userid,win,userpai,useryabei,chanyu,difen,kaifangshijian)VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
		Parameter[] parameters = new Parameter[15];
		parameters[0] = new Parameter(Types.INTEGER,getRoomId(),ParameterType.Input);
		parameters[1] = new Parameter(Types.INTEGER,getTableId(),ParameterType.Input);
		parameters[2] = new Parameter(Types.INTEGER,getBankerId(),ParameterType.Input);
		parameters[3] = new Parameter(Types.INTEGER,getTableNo(),ParameterType.Input);
		parameters[4] = new Parameter(Types.VARCHAR,getCards(),ParameterType.Input);
		//parameters[5] = new Parameter(Types.INTEGER,getBankerwin(),ParameterType.Input);
		parameters[5] = new Parameter(Types.INTEGER,getTurn(),ParameterType.Input);
		parameters[6] = new Parameter(Types.INTEGER,getFangzhuId(),ParameterType.Input);
		parameters[7] = new Parameter(Types.INTEGER,getZhuangbeishu(),ParameterType.Input);
		parameters[8] = new Parameter(Types.INTEGER,getUserid(),ParameterType.Input);
		parameters[9] = new Parameter(Types.INTEGER,getWin(),ParameterType.Input);
		parameters[10] = new Parameter(Types.VARCHAR,getUserpai(),ParameterType.Input);
		parameters[11] = new Parameter(Types.INTEGER,getUseryabei(),ParameterType.Input);
		parameters[12] = new Parameter(Types.INTEGER,getChanyu(),ParameterType.Input);
		parameters[13] = new Parameter(Types.INTEGER,getDifen(),ParameterType.Input);
		parameters[14] = new Parameter(Types.VARCHAR,getKaifangshijian(),ParameterType.Input);
		SqlHelperwrite.execute(strSql,parameters);
	}

//	public static List<niuniugamelog> getWay(short tableId, int tableNo) {
//		   List<niuniugamelog> list = new ArrayList<>();
//					String cmdText = "select id,winOrLose from game_log where tableId = ? and tableNo = ? order by createtime desc limit 0,49";
//					Parameter p1 = new Parameter(Types.SMALLINT,tableId,ParameterType.Input);
//					Parameter p2 = new Parameter(Types.INTEGER,tableNo,ParameterType.Input);
//					CachedRowSet rs = SqlHelper.getResultSet(cmdText,p1,p2);
//					try {
//						while(rs.next()) 
//						{
//							niuniugamelog v = new niuniugamelog();
//							v.setId(rs.getInt(1));
//							v.setBankerwin(rs.getInt(2));
//							list.add(v);
//						}
//					} catch (SQLException e) {
//						e.printStackTrace();
//						log.warn("Sql:" + cmdText + "错误！");
//					}
//					Collections.reverse(list);
//					return list;
//	}

//	public byte getValueBaijiale() {
//		 JSONArray jsonArray = JSON.parseArray(bankerwin+"");
//		 if(jsonArray.getInteger(8) == 1)  //庄
//		 {
//			 if(jsonArray.getInteger(4) ==0 &&jsonArray.getInteger(1) == 0)
//			 {
//				 return 1;
//			 }
//			 else if(jsonArray.getInteger(4) == 0&&jsonArray.getInteger(1) == 1)
//			 {
//				 return 2;
//			 }
//			 else if(jsonArray.getInteger(4) == 1&&jsonArray.getInteger(1) == 0)
//			 {
//				 return 3;
//			 }
//			 else if(jsonArray.getInteger(4) == 1&&jsonArray.getInteger(1) == 1)
//			 {
//				 return 4;
//			 }
//		 }
//		 else if(jsonArray.getInteger(7) == 1) //和
//		 {
//			 if(jsonArray.getInteger(4) ==0 &&jsonArray.getInteger(1) == 0)
//			 {
//				 return 9;
//			 }
//			 else if(jsonArray.getInteger(4) == 0&&jsonArray.getInteger(1) == 1)
//			 {
//				 return 10;
//				 
//			 }
//			 else if(jsonArray.getInteger(4) == 1&&jsonArray.getInteger(1) == 0)
//			 {
//				 return 11;
//			 }
//			 else if(jsonArray.getInteger(4) == 1&&jsonArray.getInteger(1) == 1)
//			 {
//				 return 12;
//			 }
//		 }
//		 else if(jsonArray.getInteger(6) == 1) //闲
//		 {
//			 if(jsonArray.getInteger(4) ==0 &&jsonArray.getInteger(1) == 0)
//			 {
//				 return 5;
//			 }
//			 else if(jsonArray.getInteger(4) == 0&&jsonArray.getInteger(1) == 1)
//			 {
//				 return 6;
//				 
//			 }
//			 else if(jsonArray.getInteger(4) == 1&&jsonArray.getInteger(1) == 0)
//			 {
//				 return 7;
//			 }
//			 else if(jsonArray.getInteger(4) == 1&&jsonArray.getInteger(1) == 1)
//			 {
//				 return 8;
//			 }
//		 }
//		 return 0;
//	}
//	
	public static byte getValueByBaijiale(Byte[] array) {
		 if(array[8] == 1)  //庄
		 {
			 if(array[4] ==0 &&array[1] == 0)
			 {
				 return 1;
			 }
			 else if(array[4] == 0&&array[1] == 1)
			 {
				 return 2;	 
			 }
			 else if(array[4] == 1&&array[1] == 0)
			 {
				 return 3;
			 }
			 else if(array[4] == 1&&array[1]== 1)
			 {
				 return 4;
			 }
		 }
		 else if(array[7] == 1) //和
		 {
			 if(array[4] ==0 &&array[1] == 0)
			 {
				 return 9;
			 }
			 else if(array[4] == 0&&array[1] == 1)
			 {
				 return 10;
				 
			 }
			 else if(array[4] == 1&&array[1] == 0)
			 {
				 return 11;
			 }
			 else if(array[4] == 1&&array[1] == 1)
			 {
				 return 12;
			 }
		 }
		 else if(array[6] == 1) //闲
		 {
			 if(array[4] ==0 &&array[1] == 0)
			 {
				 return 5;
			 }
			 else if(array[4] == 0&&array[1] == 1)
			 {
				 return 6;
				 
			 }
			 else if(array[4] == 1&&array[1] == 0)
			 {
				 return 7;
			 }
			 else if(array[4] == 1&&array[1] == 1)
			 {
				 return 8;
			 }
		 }
		 return 0;
	}
	
//	public  byte getValueByNiuniu() {
//		 JSONArray jsonArray = JSON.parseArray(bankerwin+"");
//		 if(jsonArray.getInteger(5) == 1)  //闲
//		 {
//			 return 5;
//		 }
//		 else  if(jsonArray.getInteger(6) == 1) //庄
//		 {
//			 return 1;
//		 }
//		 return -1;
//	}

	/*
	public static List<StatisticsInfo> getList(int rid, Date start, Date end,int page,int size) {
		List<StatisticsInfo> list = new  ArrayList<>();
		String cmdText = "select tableNo,bets,createtime from game_log where roomid = ? and createtime > ? and createtime < ?  order by createtime desc limit ?,?";
		Parameter p1 = new Parameter(Types.INTEGER, rid, ParameterType.Input);	
		Parameter p2 = new Parameter(Types.TIMESTAMP, new Timestamp(start.getTime()), ParameterType.Input);	
		Parameter p3 = new Parameter(Types.TIMESTAMP,  new Timestamp(end.getTime()), ParameterType.Input);	
		Parameter p4 = new Parameter(Types.INTEGER,  (page-1)*size, ParameterType.Input);	
		Parameter p5 = new Parameter(Types.INTEGER,  page*size, ParameterType.Input);	
		CachedRowSet rs = SqlHelper.getResultSet(cmdText, p1,p2,p3,p4,p5);
		try {
			while (rs.next()) 
			{
				StatisticsInfo si = new StatisticsInfo();
				si.setRoomNo(rs.getInt(1));
				//0闲龙宝 1闲对 2大 3小 4庄对 5庄龙宝 6闲 7和 8庄
				JSONArray jarray = JSONArray.parseArray(rs.getString(2));
				int total = 0;
				for(int i =0;i<9;i++)
				{
					int val = jarray.getIntValue(i);
					total +=val;
					switch(i)
					{
						case 0:
							si.setIdleNB(String.valueOf(val));
							break;
						case 1:
							si.setIdleD(String.valueOf(val));
							break;
						case 2:
							si.setLarge(String.valueOf(val));
							break;
						case 3:
							si.setSmal1(String.valueOf(val));
							break;
						case 4:
							si.setBankerD(String.valueOf(val));
							break;
						case 5:
							si.setBankerNB(String.valueOf(val));
							break;
						case 6:
							si.setIdle(String.valueOf(val));
							break;
						case 7:
							si.setHuo(String.valueOf(val));
							break;
						case 8:
							si.setBanker(String.valueOf(val));
							break;
					}
				}
				si.setTotal(String.valueOf(total));
				SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
				si.setTimer(formatter.format(rs.getDate(3)));
				list.add(si);
			}
		} catch (SQLException e) {
			e.printStackTrace();
			log.warn("Sql:" + cmdText + "错误!");
		}
		return list;
	}
	*/
}
